/** 控制箱管理 */
import { Get, Post, PostJson } from './request';

export interface ILiftingControl {
    allNum?: number, // 总路桩设备数量 ,
    areaId: number, // 区域id ,
    createId?: number, // 创建人 ,
    createTime?: string, // 创建时间 ,
    emergencyPower?: number, // 应急电源电量 ,
    id?: number,
    ipAddress: string, // ip地址 ,
    onlineNum?: number, // 在线路桩设备数量 ,
    status?: number, // 状态 -1：非正常状态 0：正常 ,
    type: number, // 类型 0：全自动液压，1：全自动气压，2：半自动液压... ,
    updateTime?: string, // 更新时间 ,
    voltageStatus?: number, // 运行电压 0：正常 -1 欠压 1过压
}
/** 控制箱类型 */
export enum LiftingControlType {
    '全自动液压' = 0,
    '全自动气压' = 1,
    '半自动液压' = 2
}
/** 控制箱运行电压 */
export enum LiftingControlVoltageStatus {
    '正常' = 0,
    '欠压' = -1,
    '过压' = 1,
}
/** 获取所有控制箱 */
export const getAllLiftingControl = (): Promise<ILiftingControl[]> => Get('/liftingcontrol/all')


export interface IAreaLiftingControl {
    onlineCount: number,
    list: ILiftingControl[]
}
/** 获取区域内控制箱
 * areaId
 */
export const getLiftingControlByArea = (params: any): Promise<IAreaLiftingControl> => Get('/liftingcontrol/getControlByArea', params)

/** 获取控制箱信息
 * id 控制箱id
 */
export const getLiftingControlInfo = (id: number): Promise<ILiftingControl> => Get(`/liftingcontrol/info/${id}`)

/** 分页获取控制箱
 * 
 */
export const getLiftingControlList = (params: any): Promise<ILiftingControl[]> => Post('/liftingcontrol/list', params)

/** 新增控制箱 */
export const addLiftingControl = (data: ILiftingControl) => PostJson('/liftingcontrol/save', data)

/** 更新控制箱 */
export const updateLiftingControl = (data: ILiftingControl) => PostJson('/liftingcontrol/update', data)
